1. Technical Field
The present invention relates to a data processing apparatus that is equipped with a special-purpose data processing unit including a data path on which computational processes are executed by hardware, and also to a data processing system that has such data processing apparatus.
2. Description of the Related Art
During the past decades, there have been great increases in the size and packing density of large-scale integrated circuits (hereafter, referred to as SIs. In recent years, systems capable of extremely advanced functioning have been produced on silicon as system LSIs and other such processors. Along with these advances and aside from the development of high-speed, high-performance standard or general-purpose LSIs such as the Pentium (registered trademark) line of processors produced by Intel, there has been an increase in demand for system LSIs for specialized purposes that are designed so as to give high performance for the specialized computation for which the LSIs are used. There has also been an increase in demand for system LSIs that are more cost-effective than general-purpose LSIs but still achieve satisfactory performance for a chosen application. One example of such LSIs are the LSIs used in mobile phones and the like where low power consumption is required. Another example are LSIs that are suited to the transfer of data or packets in real time, such as those used in network devices. Yet another example are LSIs that are suited to the compression and decompression of image data for use when transferring image data. In this way, the demand for specialized LSIs is especially prevalent in the fields of communication networks and domestic information appliances, such as digital television.
In response to such demands, the techniques for producing dedicated or special purpose system LSIs are in the development. When a large-scale dedicated system LSI is required, the functioning of the system LSI, which is to say, the specification, is first written out using a high-level programming language such as C or JAVA (registered trademark). As a result, a processor that is equipped with a compiling funciton or the like that can execute the code written in the high-level programming language, or a processor that is otherwise suited to such developing environment using the high-level language is required. A specialized processor that is equipped with a function for performing a special-purpose instruction for a desired purpose may be equipped with a specialized circuit that can handle the processing written in the high-level language. This makes it possible to provide a system LSI with very high cost-performance.
On the other hand, one conventional technique for increasing processing speed is to perform parallel processing using a multiprocessor arrangement. If a single program written in C language can be divided to produce a plurality of processes that can be executed in a parallel, a large increase in processing speed can be achieved. As another problem, computational processes which are rarely installed in the general-purpose processor costs many clock cycles when executed in the general-purpose processor. By designing a system so that such processes are executed by specialized or dedicated data processing circuits using special-purpose instructions, and then having such processes performed in parallel by the specialized or special-purpose data processing circuits, processing speed becomes highly increased.
When the specification or system written in C language is divided into a plurality of processes for processing by specialized circuits designed for these processes, each specialized circuits shall have a communication function for informing the processing states each other for controlling the processes to be executed in parallel.
It is also necessary to provide a function for controlling the processing in the specialized circuits based on the results of such communication. Depending on the application in which the processor is used, a variety of calculations needs to be performed. Therefore, specialized circuits that have at least the both functions for coping with each of these calculations and for coping with the operation in parallel shall be developed in each application or system.
As a result, while it is thought that a system LSI that performs parallel processing using specialized circuits would be able to operate at a high processing speed, the designing and testing of such a system LSI are very time-consuming and incur a huge cost. This makes it difficult to provide such LSIs in a timely fashion and results in poor cost-performance, with there being no conventional solution to this problem.
The present invention has a first object of providing a data processing system and a data processing apparatus that can quickly and economically develop system LSIs in which a plurality of specialized circuits operate in parallel. The present invention has a second object of providing a data processing system and a data processing apparatus that can quickly and economically develop system LSIs in which a plurality of processes produced by dividing a program written in a high-level programming language such as C can be distributed and executed in parallel.
A further object of the present invention is to provide a data processing system and a data processing apparatus that can quickly and economically provide a system equipped with a plurality of specialized circuits in the form of a large scale system written in C language or the like, the system using a communication function and being able to cope with code that has been written in C language or JAVA without the system designer having to consider the hardware.